home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / library / xfalbrry.lha / XFA_Library / AmigaE / examples / xfa_play.e < prev    next >
Text File  |  1995-09-06  |  1KB  |  70 lines

  1. /*
  2. ** XFA Play - Example Of How To Play An XFA Anim In AmigaE
  3. **
  4. ** Code Written By: Fabio Rotondo
  5. ** Based Upon An Original Blitz2 Code By Mik Of ClassX
  6. **
  7. ** This code is Public Domain.
  8. **
  9. ** Written For ClassX
  10. **
  11. */
  12.  
  13. MODULE 'xfa','libraries/xfa','dos/rdargs'
  14.  
  15. PROC main()
  16.   DEF frames
  17.   DEF args=NIL:PTR TO LONG, rdargs
  18.  
  19.   WriteF('XFAPlay V0.1 - By Fabio Rotondo.\n')
  20.  
  21.   rdargs:=ReadArgs('NAME/A', args, NIL)
  22.   IF rdargs
  23.     IF (xfabase:=OpenLibrary('xfa.library',0))
  24.       IF (frames:=xfa_getframes(args[0]))
  25.         xfa_play(args[0], frames)
  26.       ELSE
  27.         WriteF('File not found or read error.\n')
  28.       ENDIF
  29.       CloseLibrary(xfabase)
  30.     ELSE
  31.       WriteF('Cannot Open xfa.library\n')
  32.     ENDIF
  33.     FreeArgs(rdargs)
  34.   ELSE
  35.     WriteF('Bad Args.\n')
  36.   ENDIF
  37.   CleanUp(0) 
  38. ENDPROC
  39.  
  40. PROC xfa_getframes(fname:PTR TO CHAR)
  41.   DEF head:xfa_head
  42.  
  43.   IF XfA_LoadAnim (fname, head, 0, FALSE)<>0
  44.     WriteF(' XfA_LoadAnim Error.\n')
  45.   ELSE
  46.     RETURN head.nframes
  47.   ENDIF
  48. ENDPROC FALSE
  49.  
  50. PROC xfa_play(fname:PTR TO CHAR, frames)
  51.   DEF err
  52.  
  53.   IF XfA_AllocFrames(frames)
  54.     IF (err:=XfA_LoadAnim(fname,0,0,TRUE))
  55.       WriteF('Load Error: \d\n', err)
  56.     ELSE
  57.       IF XfA_OpenPlayStuff(FALSE)
  58.         XfA_Play(TRUE, FALSE, TRUE)
  59.         
  60.         XfA_ClosePlayStuff()
  61.       ELSE
  62.         WriteF('Error Opening XFA Stuff\n')
  63.       ENDIF
  64.     ENDIF
  65.     XfA_FreeFrames()
  66.   ELSE
  67.     WriteF('Allocation Error.\n')
  68.   ENDIF
  69. ENDPROC
  70.